/**
 字节流 主要用于 传输视频图片 等一些 非 文字的数据   文字数据用字符流   GBK（待检查） 和ascii 可以正常使用 其他会出现乱码问题
 IO流：输入输出流（input/output）
 流是一组有顺序的，有起点和重点的字节集合，是对数据传输的总称或抽象。即数据在两设备间
 的传输称为流
 流的本质是数据传输，根据数据传输特性将流抽象为各种类，方便更直观的进行数据操作。
 IO流的分类
 根据处理数据类型的不同分为：字符流和字节流
 根据数据流向不同分为：输入流和输出流
 2.字节输出流  程序 写到 程序
 OutputStream类定义
 public abstract class OutputStream extends Object implements Closeable,FLushable
 此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到InputStream类某个接收器
 要向文件中输出，使用FileOutputStream类
 3.字节输入流   文件 读到 程序
 定义：
 public abstract class InputStream extends Object implements Closeable
 此抽象类是表示字节输入流的所有类的超类
 FileInputStream从文件系统中的某个文件中获得输入字节。  
 在字节读取的时候出现乱码 因为坑位的问题
 需要使用字符流读取
       
 */
/*
package com.leo.第八章_文件与IO;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Base64;

public class U8_L2_字节流 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		out();
		in();
	}
	private static void in() {
		File file=new File("E:\\eclipse-workspace\\test\\test.txt");
		try {
			InputStream in=new FileInputStream(file);
			StringBuilder sb=new StringBuilder();
			//设定每次读取的长度
			byte[]read_byte_length_src=new byte[10];
			int len=-1;
			try {
				//设定每次读取的字节数 并且读完-1 就不循环
				//中文有可能乱码，因为坑位的问题 UTF-8是可变长度，并不是GBK 2个字节 所以坑位不对显示乱码
				while((len=in.read(read_byte_length_src))!=-1) {
					sb.append(new String(read_byte_length_src,0,len));
					
				}
				System.out.println(sb);
				in.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			//in.read();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	private static void out() {
		File dir=new File("E:\\eclipse-workspace\\test");
		dir.mkdir();
		File file=new File("E:\\eclipse-workspace\\test\\test.txt");
		try {
			file.createNewFile();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			OutputStream out=new FileOutputStream(file,true);//true是追加，不写覆盖
			String info="这是一个输出文本\r\n";//这个是回车+换行
			out.write(info.getBytes("UTF-8"));
			out.close();
			System.out.println("创建文件夹: "+dir.getName()+" ，文件："+file.getName()+"和写入完毕...");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	}
}
*/